Translate

Avvisi

Agg: Toolbar
Mod: SEF
Mod: Forum
Mod: Menu Invio
Agg: Clouds
Per ottenere i diritti di scrittura contattare minopausa

Login






Password dimenticata?
Nessun account? Registrati

Statistiche

OS: Linux n
PHP: 5.1.6
MySQL: 5.0.22
Ora: 03:44
Caching: Enabled
GZIP: Disabled
Utenti: 48
Notizie: 214
Collegamenti web: 38
Visitatori: 131672


website stats


Home
Liste di mp3 | Hack 3 :: Attack 0 PDF Stampa
Scritto da minopausa   
giovedì 28 febbraio 2008
Ultimo aggiornamento ( lunedì 10 marzo 2008 )
 
http://blacklight.gotdns.org/
img http://blacklight.gotdns.org/
 
Il nostro amico jeco, qualche giorno fa, nel commentare un articolo ci ha lasciato una chicca veramente imperdibile. Onde poter dare a questo hack una maggiore visibilità abbiamo deciso di riportare il commento di jeco sotto forma di un articolo. Attraverso un sagace uso di vari comandi potremo elencare tutti i file musicali MP3 presenti nella cartella Musica/ sulla home di un utente e, dopo averli trasformati in maiuscolo, aver tolto loro l'estensione e aver scritto l'elenco su un file, spedire in una mail l'elenco come corpo del messaggio sulla posta locale dell'utente.

(L'articolo in questione potete trovarlo qui

... volete un hack ... eccovi serviti:

find ~/Musica -iname "*.mp3" -print0 | xargs -i -0 basename {} | tr [a-z] [A-Z] | sed 's/.MP3//' | sort | tee ~/elenco-musica-mp3.txt | mail -s "Elenco brani musicali personali (mp3)" `whoami`

Analizziamo l'hack che ho scritto prima e componiamo il comando ogni 
qualvolta vediamo una pipe (segno |): 
 
1) find ~/Musica -iname "*.mp3" -print0 
2) xargs -i -0 basename {} 
3) tr [a-z] [A-Z] 
4) sed 's/.MP3//' 
5) sort 
6) tee ~/elenco-musica-mp3.txt 
7) mail -s "Elenco brani musicali personali (mp3)" `whoami` 
 
Iniziamo.
Il punto 1) genera una lista di file presenti nella cartella ~/Musica che finiscono con l'estensione .mp3, indifferentemente dalle maiuscole o dalle minuscole che compongono il nome del file (parametro -iname). Per il momento prendiamo per buona l'opzione -print0 che serve per legare il successivo comando xargs in maniera corretta.  Apriamo una parentesi sull'utuilizzo del pipe (|): questo, vero e proprio comando serve catturare lo STDOUT del comando di sinistra e direzionarlo nello STDIN del comando di destra.  Il punto 2) preleva la lista generata al punto 1) e con il parametro -0 (che si lega al precedente parametro -print0), termina le stringhe (cioè nomi dei files che scorrono ipoteticamente) in ingresso con il carattere NULL. Il punto 2) inoltre, usando l'istruzione basename, scrive solo il nome del file (esempio se scrivessi `basename /etc/xinetd.conf' l comando restituisce xinetd.conf). Le parentesi graffe {} identificano le varie stringhe in ingresso (parametro -i). Il punto 3) trasforma l'intera riga in maiuscolo. Il punto 4) elimina l'estensione .MP3 che solo ora è stata sicuramente trasformata in maiuscolo. Il punto 5) ordina l'intera lista. Il punto 6) divide il flusso STDOUT del punto 5) in due canali: il primo canale si riversa nello STDIN del comando successivo e il secondo canale va a finire nel file ~/elenco-musica-mp3.txt. Il carattere tilde ~ identifica la home dell'utente (in pratica corrisponde alla variabile $HOME). Infine il punto 7) invia una mail che ha come oggetto la stringa specificata dopo il paramentro -s. La lista dei recipients a cui inviare la mail è costituira dell'istrizione `whoami che restituisce il nome utente. Il corpo del messaggio è costituito dello STDIN che arriva al comando.


Perfetto, abbiamo finito il nostro hack
Ultima cosa, di ogni comando è possibile eseguire una man che restituisce l'elenco intero dei parametri possibili. :-)

Riporta questo articolo sul tuo sito Aggiungi a lista preferiti

Commenti utenti (0)

Nessun commento postato

Aggiungi il tuo commento



mXcomment 1.0.6 DIGO -  © 2007-2008 - visualclinic.fr - Licenza Creative Commons
Modificato da Fiuh!Team - FIUH.it - Alcuni diritti riservati
< Prec.   Pros. >
website © 2008 www.tuxbay.org | logo © Gruthelsud | buttons © foCs | hosting eastitaly.com
Translate